// 如何用闭包来优化 fib
// 记忆功能
function memoizedFib(){
    // 闭包
    // 1.函数嵌套函数
    // 2.内部的函数可以在外部进行访问
    // 3.内部函数可以使用外部函数的变量
    // 4.外部函数的变量不会被垃圾回收机制回收
    const cache = {}; //存储
    return function fib(n){
        if (n<=1) return n
        if(cache[n]) return cache[n]
        cache[n] = fib(n-1) + fib(n-2)
        return cache[n]
    }
}

const fib = memoizedFib()
console.log(fib(100));
 